package com.sy.constant;

/**
 * 定义的是系统中的业务常量
 */
public class BusinessConstant {
    /**
     * 属性描述：登录类型为账号密码登录
     */
    public static final int ACCOUNT_LOGIN_TYPE = 0;

    /**
     * 属性描述：登录类型为手机号验证码登录
     */
    public static final int PHONE_LOGIN_TYPE = 1;

    /**
     * 属性描述: Session中用于保存验证码的属性的名字
     */
    public static final String SESSION_CODE_NAME = "session_code";

    /**
     * 属性描述: Cookie中用于保存Token的Cookie的名字
     */
    public static final String COOKIE_TOKEN_NAME = "token";

    /**
     * 属性描述: 会话的过期时间(s)
     */
    public static final int SESSION_MAX_AGE = 30 * 60;

    /**
     * 属性描述: Redis中保存用户信息的前缀
     */
    public static final String REDIS_USER_PREFIX = "user:";

    /**
     * 属性描述Redis中缓存博客编辑图片记录的前缀
     */
    public static final String  REDIS_BLOG_IMGS_CACHE= "user_blog_imgs:";


    /**
     * 属性描述: Cookie的的最小生存周期
     */
    public static final int COOKIE_MIN_AGE = 0;

    /**
     * 属性描述: Redis中LIST删除所有值的数量值
     */
    public static final Long REDIS_LREM_ALL_COUNT = 0L;

    /**
     * 属性描述: 一级分类的父Id
     */
    public static final int FIRST_LEVEL_CATEGORY_PARENT_ID = 0;

    /**
     * 属性描述: Redis中用于存储分类信息的key
     */
    public static final String REDIS_CATEGORY_KEY = "csdn_category";

    /**
     * 属性描述: 数据库中博客类型为草稿
     */
    public static final byte BLOG_IS_DRAFT = 0;

    /**
     * 属性描述: 数据库中博客类型不为草稿
     */
    public static final byte BLOG_IS_NOT_DRAFT = 1;

    /**
     * 属性描述：分类为推荐的id
     */
    public static final int CATEGORY_IS_RECOMMEND = 1;

    /**
     * 属性描述：分类为动态的id
     */
    public static final int CATEGORY_IS_TRENDS = 2;

    /**
     * 属性描述：推荐博客的最小点击数
     */
    public static final int RECOMMEND_BLOG_MIN_CLICK_COUNT = 500;

    /**
     * 属性描述：推荐博客的最小点赞数
     */
    public static final int RECOMMEND_BLOG_MIN_THUMBS_COUNT = 50;

    /**
     * 属性描述：推荐博客的最小收藏数
     */
    public static final int RECOMMEND_BLOG_MIN_COLLECT_COUNT = 20;

    /**
     * 属性描述：数据库中原创博客的类型id
     */
    public static final byte ORIGINAL_BLOG_TYPE_ID = 1;

    /**
     * 属性描述：数据库中非原创博客的类型id
     */
    public static final int NOT_ORIGINAL_BLOG_TYPE_ID = 0;

    /**
     * 属性描述：博客专家博客浏览数量的下限
     */
    public static final int BLOG_EXPERT_CLICK_COUNT_LIMIT = 10000;

    /**
     * 属性描述：博客专家博客原创占比下限
     */
    public static final double BLOG_EXPERT_ORIGINAL_RATIO_LIMIT = 0.8;

    /**
     * 属性描述：博客分类为一级分类的类型
     */
    public static final int BLOG_CATEGORY_TYPE_FIRST = 1;

    /**
     * 属性描述：博客分类为二级分类的类型
     */
    public static final int BLOG_CATEGORY_TYPE_SECOND = 2;

    /**
     * 属性描述：等于0的博客id
     */
    public static final int BLOG_ID_IS_ZERO = 0;

    /**
     * 属性描述：等于0的分类id
     */
    public static final int CATEGORY_ID_IS_ZERO = 0;

    /**
     * 属性描述：redis中用于保存hash类型的博客浏览次数的key
     */
    public static final String REDIS_BLOG_CLICK_HASH_KEY = "blog_click_hash";

    /**
     * 属性描述：redis中用于保存hash类型的用户浏览次数的key
     */
    public static final String REDIS_USER_CLICK_HASH_KEY = "user_click_hash";

    /**
     * 属性描述：redis中用于保存sorted set类型的周排行的key
     */
    public static final String REDIS_BLOG_USER_WEEK_RANKING_KEY = "user_week_ranking";

    /**
     * 属性描述：redis中用于保存sorted set类型的周排行的key
     */
    public static final String REDIS_BLOG_USER_TOTAL_RANKING_KEY = "user_total_ranking";

    /**
     * 属性描述：redis中hash类型的博客初始点击次数
     */
    public static final long REDIS_CLICK_HASH_INITIAL_COUNT = 1L;

    /**
     * 属性描述：redis中sorted set类型的博客初始点击次数
     */
    public static final double REDIS_CLICK_SORTED_SET_INITIAL_COUNT = 1;
}
